using Service.Framework;
using Service.Framework.Register;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddHttpContextAccessor();
builder.Services.Configure<ConsulRegisterOptions>(builder.Configuration.GetSection("ConsulSetting"));
builder.Services.AddSingleton<IConsulRegister, ConsulRegister>();
var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

var hosrServer = app.Services.GetRequiredService<IHostApplicationLifetime>();
await app.Services.GetService<IConsulRegister>()!.ConsulRegistAsync();


app.UseHttpsRedirection();

app.UseAuthorization();
app.MapControllers();

app.Run();
